home *** CD-ROM | disk | FTP | other *** search
/ Ahoy 1988 April / Ahoy_Magazine_88-04_1988_Double_L.d64 / Sprite Exploder (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  6KB  |  224 lines

  1. 1 forx=0to455:reada:poke49176+x,a:next:forx=0to455:reada:poke49680+x,a:next
  2. 2 poke52,48:poke56,48:clr:s1=255:ds=-1:s2=s1+ds:p1=49152
  3. 10 print"[147]john fedor's sprite exploder!":poke53269,0
  4. 15 poke53280,0:poke53281,0
  5. 20 print"[213][195][174][157][157][157][194]1[194]  load sprites"chr$(13)"[173][195][203]"
  6. 30 print"[213][195][174][157][157][157][194]2[194]  save sprites"chr$(13)"[173][195][203]"
  7. 40 print"[213][195][174][157][157][157][194]3[194]  explode sprites"chr$(13)"[173][195][203]"
  8. 50 print"[213][195][174][157][157][157][194]4[194]  animate sprites"chr$(13)"[173][195][203]"
  9. 60 printtab(12)"choice (1-4) ? ";
  10. 65 poke198,0
  11. 70 geta$:ifa$<"1"ora$>"4"then70
  12. 75 onval(a$)gosub300,400,100,500
  13. 80 goto10
  14. 100 print"[147]":v=53248:pokev,104:pokev+1,100:pokev+3,100:pokev+2,152
  15. 110 pokev+21,1:pokev+39,1:pokev+40,1
  16. 120 poke2040,s1:poke2041,s2
  17. 125 print"choose source sprite (+/-)."
  18. 130 print"hit <return> when ready."
  19. 135 poke198,0
  20. 140 poke2040,s1:print""tab(9)s1:geta$:ifa$="+"thens1=s1+1
  21. 143 ifs1>255thens1=255
  22. 145 ifa$="-"thens1=s1-1:ifs1<192thens1=192
  23. 150 ifa$<>chr$(13)then140
  24. 155 s2=s1+ds:poke2041,s2:pokev+21,3
  25. 160 print"[147]choose destination sprite (+/-).":print"hit <return> when ready."
  26. 165 poke198,0
  27. 170 print""tab(15)s2
  28. 173 s3=0:geta$:ifa$="+"ora$="-"thens3=val(a$+"1"):ifs3+s1<128ors3+s1>255then170
  29. 175 ifs3thends=s3:s2=s1+ds:poke2041,s2:goto170
  30. 180 ifa$<>chr$(13)then170
  31. 181 print"[147]how many frames do you want (1-12) ?":inputmx:ifmx<1ormx>12then181
  32. 182 ifmx*ds+s1<192thenmx=s1-192
  33. 183 ifmx*ds+s1>255thenmx=255-s1
  34. 184 forq=1tomx:poke2040,s1:poke2041,s2:print"[147]calculating. "1+mx-q"left to do"
  35. 185 fori=s2*64tos2*64+63:pokei,.:next:forx=1to22:x4=int(x/8):fory=1to19
  36. 190 ifpeek(s1*64+y*3+x4)and(2^((23-x)and7))thengosub200
  37. 195 nexty,x:s1=s2:s2=s2+ds:nextq:return
  38. 200 p=x+y*24:x1=peek(p+p1):y1=peek(p+p1+504):a=s2*64+y1*3+int(x1/8)
  39. 202 ifp=600thenreturn
  40. 205 pokea,peek(a)or(2^((23-x1)and7)):return
  41. 300 print"[147]load:"
  42. 305 print"enter the filename to be loaded":f$="":c$=chr$(0)
  43. 310 inputf$:iff$=""thenreturn
  44. 313 print"[147]loading..."
  45. 315 open15,8,15,"i0":open5,8,5,f$+",p,r":input#15,a,b$,c,d:ifathen600
  46. 320 get#5,a$,b$:s1=(asc(a$+c$)+asc(b$+c$)*256)/64:s2=s1
  47. 325 get#5,a$:ifstthen340
  48. 330 pokes2*64,asc(a$+c$):fori=1to63:get#5,a$:pokes2*64+i,asc(a$+c$):nexti
  49. 335 s2=s2+1:goto325
  50. 340 s2=s2-1:close5:close15
  51. 345 return
  52. 400 print"[147]save:"
  53. 405 print"enter the filename to be saved":f$="":c$=chr$(0)
  54. 410 inputf$:iff$=""thenreturn
  55. 415 v=53248:pokev+21,1:pokev,100:pokev+1,100:pokev+39,1:poke2040,s1:poke198,0
  56. 420 print"[147]choose starting sprite frame to save.":print"use +/-, <return>"
  57. 425 print""tab(9)s1:poke2040,s1
  58. 430 geta$:ifa$="+"thens1=s1+1:ifs1=256thens1=255
  59. 435 ifa$="-"thens1=s1-1:ifs1=191thens1=192
  60. 440 ifa$<>chr$(13)then425
  61. 441 poke198,0
  62. 443 print"[147]choose ending sprite frame to save.":print"use +/-, <return>":s2=s1
  63. 445 print""tab(9)s2:poke2040,s2
  64. 447 geta$:ifa$="+"thens2=s2+1:ifs2=256thens2=255
  65. 449 ifa$="-"thens2=s2-1:ifs2<s1thens2=s1
  66. 450 ifa$<>chr$(13)then445
  67. 455 open15,8,15,"i0":open5,8,5,f$+",p,w":input#15,a,b$,c,d:ifathen600
  68. 457 print"[147]saving..."
  69. 460 a=s1*64:h=int(a/256):l=a-h*256:print#5,chr$(l)chr$(h);
  70. 465 fori=atos2*64+63:print#5,chr$(peek(i));:nexti
  71. 470 close5:close15:return
  72. 500 print"[147]animation sequence."
  73. 505 v=53248:pokev,100:pokev+1,100
  74. 507 print"choose beginning frame: (+/-).":poke198,0
  75. 510 pokev+39,1:pokev+21,1
  76. 515 print""tab(9)s1:poke2040,s1
  77. 520 geta$:ifa$="+"thens1=s1+1:ifs1=256thens1=255
  78. 525 ifa$="-"thens1=s1-1:ifs1=191thens1=192
  79. 530 ifa$<>chr$(13)then515
  80. 535 print"choose ending frame: (+/-).   ":poke198,0
  81. 540 print""tab(9)s2:poke2040,s2
  82. 545 geta$:ifa$="+"thens2=s2+1:ifs2=256thens2=255
  83. 550 ifa$="-"thens2=s2-1:ifs2=191thens2=192
  84. 555 ifa$<>chr$(13)then540
  85. 560 dx=10:poke198,0
  86. 565 print"[147]animation sequence"
  87. 570 print"use (+/-) to adjust delay":print"delay="
  88. 575 forx=s1tos2stepsgn(s2-s1):print""tab(8)dx"[157] "
  89. 580 poke2040,x:geta$:ifa$="-"thendx=dx+1
  90. 585 ifa$="+"thendx=dx-1:ifdx<1thendx=1
  91. 590 fori=1todx:nexti:nextx
  92. 595 print"again (y/n) ?":poke198,0
  93. 597 geta$:ifa$="y"then565
  94. 598 ifa$<>"n"then597
  95. 599 return
  96. 600 close5:close15
  97. 605 print"[147]there was a disk error!"
  98. 610 print"please fix and correct."
  99. 615 print""a","b$","c","d
  100. 620 ifa=63then650
  101. 625 print"press <return> for menu."
  102. 630 geta$:ifa$<>chr$(13)then630
  103. 635 return
  104. 650 print"would you like to scratch "f$"?"
  105. 655 poke198,0
  106. 660 geta$:ifa$="n"then625
  107. 665 ifa$<>"y"then660
  108. 670 open15,8,15,"s0:"+f$:close15
  109. 675 goto455
  110. 49176 data24,0,1,3,4,5,6,7
  111. 49184 data8,9,10,11,13,14,15,16
  112. 49192 data17,18,19,20,21,22,23,24
  113. 49200 data24,0,1,2,3,4,5,6
  114. 49208 data8,9,10,11,12,13,14,15
  115. 49216 data17,18,19,20,21,22,23,24
  116. 49224 data24,0,1,2,3,4,5,7
  117. 49232 data8,9,10,11,12,13,15,16
  118. 49240 data17,18,19,20,21,22,23,24
  119. 49248 data24,0,1,2,3,4,5,7
  120. 49256 data7,9,10,11,12,14,14,16
  121. 49264 data17,18,19,20,21,22,23,24
  122. 49272 data24,0,1,2,3,4,5,6
  123. 49280 data7,9,10,11,12,13,15,16
  124. 49288 data17,18,19,20,21,22,23,24
  125. 49296 data24,0,1,2,3,4,5,6
  126. 49304 data7,9,10,11,13,14,15,16
  127. 49312 data17,18,19,20,21,22,23,24
  128. 49320 data24,0,1,2,3,4,5,6
  129. 49328 data7,8,10,11,13,14,15,16
  130. 49336 data17,18,19,20,21,22,23,24
  131. 49344 data24,0,1,2,3,4,5,6
  132. 49352 data7,8,9,11,13,14,15,16
  133. 49360 data17,18,19,20,21,22,23,24
  134. 49368 data24,0,1,2,3,4,5,6
  135. 49376 data7,8,9,10,13,14,15,16
  136. 49384 data17,18,19,20,21,22,23,24
  137. 49392 data24,0,1,2,3,4,5,6
  138. 49400 data7,8,9,10,13,14,15,16
  139. 49408 data17,18,19,20,21,22,23,24
  140. 49416 data24,0,1,2,3,4,5,6
  141. 49424 data7,8,9,11,13,14,15,16
  142. 49432 data17,18,19,20,21,22,23,24
  143. 49440 data24,0,1,2,3,4,5,6
  144. 49448 data7,8,10,11,13,14,15,16
  145. 49456 data17,18,19,20,21,22,23,24
  146. 49464 data24,0,1,2,3,4,5,6
  147. 49472 data7,9,10,11,13,14,15,16
  148. 49480 data17,18,19,20,21,22,23,24
  149. 49488 data24,0,1,2,3,4,5,6
  150. 49496 data8,9,10,11,13,14,15,16
  151. 49504 data17,18,19,20,21,22,23,24
  152. 49512 data24,0,1,2,3,4,5,6
  153. 49520 data7,9,10,11,12,13,15,16
  154. 49528 data17,18,19,20,21,22,23,24
  155. 49536 data24,0,1,2,3,4,5,7
  156. 49544 data7,9,10,11,12,14,14,16
  157. 49552 data17,18,19,20,21,22,23,24
  158. 49560 data24,0,1,2,3,4,5,7
  159. 49568 data8,9,10,11,12,13,15,16
  160. 49576 data17,18,19,20,21,22,23,24
  161. 49584 data24,0,1,2,3,4,5,6
  162. 49592 data8,9,10,11,12,13,14,15
  163. 49600 data17,18,19,20,21,22,23,24
  164. 49608 data24,0,1,3,4,5,6,7
  165. 49616 data8,9,10,11,13,14,15,16
  166. 49624 data17,18,19,20,21,22,23,24
  167. 49680 data24,1,0,0,0,0,0,0
  168. 49688 data0,0,0,0,0,0,0,0
  169. 49696 data0,0,0,0,0,0,1,24
  170. 49704 data24,2,1,1,1,1,1,1
  171. 49712 data1,1,1,1,1,1,1,1
  172. 49720 data1,1,1,1,1,1,2,24
  173. 49728 data24,3,2,2,2,2,2,2
  174. 49736 data2,2,2,2,2,2,2,2
  175. 49744 data2,2,2,2,2,2,3,24
  176. 49752 data24,4,3,4,4,4,3,3
  177. 49760 data3,3,3,3,3,3,3,3
  178. 49768 data3,3,3,4,4,3,4,24
  179. 49776 data24,5,5,5,4,5,5,5
  180. 49784 data4,4,4,4,4,4,4,4
  181. 49792 data4,5,4,4,5,5,5,24
  182. 49800 data24,6,6,5,6,6,5,5
  183. 49808 data5,5,5,5,5,5,5,5
  184. 49816 data5,6,6,6,5,6,6,24
  185. 49824 data24,7,7,7,7,7,7,7
  186. 49832 data7,7,6,6,6,6,6,7
  187. 49840 data7,7,7,7,7,7,7,24
  188. 49848 data24,8,8,8,8,8,8,8
  189. 49856 data8,8,8,7,7,7,8,8
  190. 49864 data8,8,8,8,8,8,8,24
  191. 49872 data24,9,9,9,9,9,9,9
  192. 49880 data9,9,9,9,10,9,9,9
  193. 49888 data9,9,9,9,9,9,9,24
  194. 49896 data24,11,10,10,10,10,11,10
  195. 49904 data10,11,11,11,10,11,11,11
  196. 49912 data10,11,10,10,10,10,11,24
  197. 49920 data24,12,11,11,11,12,11,12
  198. 49928 data12,12,12,12,12,12,12,12
  199. 49936 data12,12,11,12,11,11,12,24
  200. 49944 data24,13,12,12,13,13,12,13
  201. 49952 data13,13,13,13,13,13,13,13
  202. 49960 data13,13,13,12,13,12,13,24
  203. 49968 data24,14,13,14,13,14,14,14
  204. 49976 data14,14,14,14,14,14,14,14
  205. 49984 data14,14,14,14,14,13,14,24
  206. 49992 data24,15,14,15,15,15,15,14
  207. 50000 data15,15,15,15,15,15,15,15
  208. 50008 data15,15,15,15,14,15,15,24
  209. 50016 data24,16,16,15,16,16,16,16
  210. 50024 data16,16,16,16,16,16,16,16
  211. 50032 data16,16,16,16,16,16,16,24
  212. 50040 data24,17,17,17,17,17,17,17
  213. 50048 data17,17,17,17,17,17,17,17
  214. 50056 data17,17,17,17,17,17,17,24
  215. 50064 data24,18,18,18,18,18,18,18
  216. 50072 data18,18,18,18,18,18,18,18
  217. 50080 data18,18,18,18,18,18,18,24
  218. 50088 data24,19,19,19,19,19,19,19
  219. 50096 data19,19,19,19,19,19,19,19
  220. 50104 data19,19,19,19,19,19,19,24
  221. 50112 data24,20,20,20,20,20,20,20
  222. 50120 data20,20,20,20,20,20,20,20
  223. 50128 data20,20,20,20,20,20,20,24
  224.